
<?php
use mail\PHPMailer;
use mail\SMTP;

function getIP() {
    if (getenv('HTTP_CLIENT_IP')) {
        $ip = getenv('HTTP_CLIENT_IP');
    }
    elseif (getenv('HTTP_X_FORWARDED_FOR')) {
        $ip = getenv('HTTP_X_FORWARDED_FOR');
    }
    elseif (getenv('HTTP_X_FORWARDED')) {
        $ip = getenv('HTTP_X_FORWARDED');
    }
    elseif (getenv('HTTP_FORWARDED_FOR')) {
        $ip = getenv('HTTP_FORWARDED_FOR');

    }
    elseif (getenv('HTTP_FORWARDED')) {
        $ip = getenv('HTTP_FORWARDED');
    }
    else {
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}
function getusercount($id)
{
    $count  =   db('user')->where(['parentid'=>$id,'power'=>'1'])->count();
    return $count;
}
function getvipcount($id)
{
    $count  =   db('user')->where(['parentid'=>$id,'power'=>'2'])->count();
    return $count;
}
function getRandomString($len, $chars=null,$type=false)
{
 
    if($type==true)
    {
		$authnum	=	rand('100000','999999');
        $count  =   db('user')->where('share_ma',$authnum)->count();
        if($count>0 || in_array($authnum,['111111','222222','333333','444444','555555','666666','777777','888888','999999','000000','123456','654321']))
        {
            $authnum    =   getRandomString($len,$chars,$type);
        }
    }else{
		srand((double)microtime()*1000000);//create a random number feed.
		$ychar="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";
		//$ychar="0,1,2,3,4,5,6,7,8,9";
		$list=explode(",",$ychar);
		$authnum='';
		for($i=0;$i<6;$i++){
			$randnum=rand(0,35); // 10+26;
			$authnum.=$list[$randnum];
		}
	}


    return $authnum;

}

function randstring($len)
{
   // $str='ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
    $str='ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';  
	$randStr = str_shuffle($str);        //打乱字符串
	//$rands= md5(time().$randStr);
	$rands= $randStr;
    
  	 $field=  substr($rands,0,$len);   //substr(string,start,length);返回字符串的一部
  
 	 $prefix = db('advert')->where('id',28)->value('content');
  
  	$Splicing=  $prefix.$field;
  
    return $Splicing;  

}
function ik2021($len)
{
   // $str='ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
    $str='ik2021'.$len;  
	$randStr = base64_encode($str);        //打乱字符串
	//$rands= md5(time().$randStr);
    $ik2021=explode("aWsyMDIxey",$randStr);
    return $ik2021[1];  

}


function SecurityVerificationKey($uid,$gettime)
{
	//$rands= md5(time().$randStr);
 	 $KeyOperation = $uid + $gettime;
  
	$RyanKeyMd5=  md5($KeyOperation);

    return $RyanKeyMd5;  

}




// 应用公共文件
function name()
{
    $id     =   session('user');
    $nick_name   =   db('user')->where('id',$id)->value('nick_name');
  if(empty($nick_name)){
  		
    $name   =   db('user')->where('id',$id)->value('username');
    
  }else{
  
    $name   =   $nick_name;
    
  }
  
 

  
    return $name?$name:'无数据';
}

function _name($id)
{
    $name   =   db('user')->where('id',$id)->value('username');
    return $name?$name:'无数据';
}
function sname($id,$name)
{
    $name   =   db('user')->where('id',$id)->value($name);
    return $name?$name:'无数据';
}

function id()
{
    $id     =   session('user');
    
    return $id ;
    
}

function power()
{
    $id     =   session('user');
    $name   =   db('user')->where('id',$id)->value('power');
    if($name=='1')
    {
        return '代理';
    }else{
        return '管理员';
    }
}


function advert($id=null)
{
    if($id!=null)
    {
        $name   =   db('advert')->where('id',$id)->value('content');

    }else{
        $name   =   db('advert')->where('id',1)->value('content');

    }
    return $name;
}




function Ryan_name()
{

   $Ryan_name   =   db('advert')->where('id',21)->value('content');
    return $Ryan_name;
}



function Ryan_logo()
{
      $is_Ryan_logo = db('advert')->where('id',114)->value('content');   //LOGO是否设置
      if(empty($is_Ryan_logo)){
            $Ryan_logo = '';   //LOGO未填写
      }else{
             $Ryan_logo = $is_Ryan_logo;   //LOGO
      } 
  
    return $Ryan_logo;
}



function Ryan_user_logo()
{
  
      $id     =   session('user');
      $is_Ryan_user_logo = db('user')->where('id',$id)->value('headimgurl');  // 头像是否设置
      if(empty($is_Ryan_user_logo)){
            $Ryan_user_logo = '';   //LOGO未填写
      }else{
             $Ryan_user_logo = $is_Ryan_user_logo;   //LOGO
      } 
  
    return $Ryan_user_logo;
}





function gui($id)
{
    $name   =   db('user')->where('id',$id)->value('username');
    return $name;
}


function gui_nickname($id)
{
    $nick_name   =   db('user')->where('id',$id)->value('nick_name');
  	if($nick_name == ''){
      
    }else{
    return ' || '.$nick_name;
    }
  
}



function yue()
{
    $id     =   session('user');
    $power  =   session('power');
    if($power=='1')
    {
        $where['id']	=	$id;
    }else{
        $where			=	'';
        return 	'';
    }
    $name   =   db('user')->where($where)->value('money');
    return '当前余额:'.$name;
}

function share()
{
    $id     =   session('user');
    $power  =   session('power');
    if($power=='1')
    {
        $where['id']	=	$id;
    }else{
        $where			=	'';
        return 	'';
    }
    $name   =   db('user')->where($where)->value('share_ma');
    return '分享码:'.$name;
}






function randstring_agent($uid)
{
   // $str='ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
    $str='ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';  
	$randStr = str_shuffle($str);        //打乱字符串
	//$rands= md5(time().$randStr);
	$rands= $randStr;
    $len='8';
  	 $field=  substr($rands,0,$len);   //substr(string,start,length);返回字符串的一部
  
 	 $prefix = db('advert')->where('id',28)->value('content');
  
  	$Splicing=  $uid.$field;
  
    return $Splicing;  

}

// 发送邮件函数 - 激活码		
function sendEmail_agent($code, $toemail){
//    echo $desc_content;
//    echo $toemail;
 //   echo count($content);
 //   dump($content);    



//  dump($result);  
 //echo $data;
 // return;
    


            $body = '你好,您本次登录的的验证码是：<b>'.$code.'</b><br>';       
  		
         
          
        $mail = new PHPMailer();
        $mail->isSMTP();// 使用SMTP服务
        $mail->CharSet = "utf8";// 编码格式为utf8，不设置编码的话，中文会出现乱码
        $mail->Host = advert('400');// 发送方的SMTP服务器地址
        $mail->SMTPAuth = true;// 是否使用身份验证
        $mail->Username = advert('402');// 发送方的163邮箱用户名，就是你申请163的SMTP服务使用的163邮箱</span><span style="color:#333333;">
        $mail->Password = advert('403');// 发送方的邮箱密码，注意用163邮箱这里填写的是“客户端授权密码”而不是邮箱的登录密码！</span><span style="color:#333333;">
        $mail->SMTPSecure = "ssl";// 使用ssl协议方式
        $mail->Port = advert('401');// 163邮箱的ssl协议方式端口号是465/994
        $mail->setFrom(advert('402'),advert('374'));// 设置发件人信息，如邮件格式说明中的发件人，这里会显示为Mailer(xxxx@163.com），Mailer是当做名字显示
        $mail->addAddress($toemail,'回复消息');// 设置收件人信息，如邮件格式说明中的收件人，这里会显示为Liang(yyyy@163.com)
        $mail->addReplyTo(advert('402'),"Reply");// 设置回复人信息，指的是收件人收到邮件后，如果要回复，回复邮件将发送到的邮箱地址
		$mail->IsHTML(true); //支持html格式内容 
        //$mail->addCC("xxx@163.com");// 设置邮件抄送人，可以只写地址，上述的设置也可以只写地址(这个人也能收到邮件)
        //$mail->addBCC("xxx@163.com");// 设置秘密抄送人(这个人也能收到邮件)
        //$mail->addAttachment("bug0.jpg");// 添加附件
        $mail->Subject = "代理登录验证码：";// 邮件标题
     // $mail->Body = "以下是博客博主回复你的内容:".$content." 点击可以查看文章地址:".$desc_url;	// 邮件正文
 	//	$mail->msgHTML($content);
		$mail->Body = $body; //邮件主体内容 
        $mail->AltBody = "您的邮箱可能不支持当前操作";// 这个是设置纯文本方式显示的正文内容，如果不支持Html方式，就会用到这个，基本无用
      
        if(!$mail->send()){// 发送邮件
       //    echo 22;
            return $mail->ErrorInfo;
        // echo "Message could not be sent.";
        // echo "Mailer Error: ".$mail->ErrorInfo;// 输出错误信息
        }else{
            return 1;
        }
}




// 发送邮件函数 - 激活码		
function sendEmail($content, $toemail, $username, $number, $name, $ctime){
//    echo $desc_content;
//    echo $toemail;
 //   echo count($content);
 //   dump($content);    


foreach ($content as $value) {
  
  				$data[] = $value['dianka'];
}


  $result=implode("</hr>",$data);
//  dump($result);  
 //echo $data;
 // return;
    

  	$time_s = date("Y-m-d H:i:s",$ctime);

            $body = '你好：<b>'.$username.'</b><br>
            		 数量：<b>'.$number.'</b><br>
            		 类型：<b>'.$name.'</b><br>
            		 批次：<b>'.$ctime.'</b><br>
            		 生成时间：<b>'.$time_s.'</b><br>
                     <br><br></hr>'.$result.'</hr><br><br>';       
  		
         
          
        $mail = new PHPMailer();
        $mail->isSMTP();// 使用SMTP服务
        $mail->CharSet = "utf8";// 编码格式为utf8，不设置编码的话，中文会出现乱码
        $mail->Host = advert('400');// 发送方的SMTP服务器地址
        $mail->SMTPAuth = true;// 是否使用身份验证
        $mail->Username = advert('402');// 发送方的163邮箱用户名，就是你申请163的SMTP服务使用的163邮箱</span><span style="color:#333333;">
        $mail->Password = advert('403');// 发送方的邮箱密码，注意用163邮箱这里填写的是“客户端授权密码”而不是邮箱的登录密码！</span><span style="color:#333333;">
        $mail->SMTPSecure = "ssl";// 使用ssl协议方式
        $mail->Port = advert('401');// 163邮箱的ssl协议方式端口号是465/994
        $mail->setFrom(advert('402'),advert('374'));// 设置发件人信息，如邮件格式说明中的发件人，这里会显示为Mailer(xxxx@163.com），Mailer是当做名字显示
        $mail->addAddress($toemail,'回复消息');// 设置收件人信息，如邮件格式说明中的收件人，这里会显示为Liang(yyyy@163.com)
        $mail->addReplyTo(advert('402'),"Reply");// 设置回复人信息，指的是收件人收到邮件后，如果要回复，回复邮件将发送到的邮箱地址
		$mail->IsHTML(true); //支持html格式内容 
        //$mail->addCC("xxx@163.com");// 设置邮件抄送人，可以只写地址，上述的设置也可以只写地址(这个人也能收到邮件)
        //$mail->addBCC("xxx@163.com");// 设置秘密抄送人(这个人也能收到邮件)
        //$mail->addAttachment("bug0.jpg");// 添加附件
        $mail->Subject = "激活码导出 批次：".$ctime;// 邮件标题
     // $mail->Body = "以下是博客博主回复你的内容:".$content." 点击可以查看文章地址:".$desc_url;	// 邮件正文
 	//	$mail->msgHTML($content);
		$mail->Body = $body; //邮件主体内容 
        $mail->AltBody = "您的邮箱可能不支持当前操作";// 这个是设置纯文本方式显示的正文内容，如果不支持Html方式，就会用到这个，基本无用
      
        if(!$mail->send()){// 发送邮件
       //    echo 22;
            return $mail->ErrorInfo;
        // echo "Message could not be sent.";
        // echo "Mailer Error: ".$mail->ErrorInfo;// 输出错误信息
        }else{
            return 1;
        }
}
?>